Alternate character set domain name suggestion and registration

ABSTRACT

Some embodiments provide domain name suggestions based on a user-provided ASCII phrase translated and/or transliterated into any of a number of supported non-English language character sets. To suggest non-English-language domain names, some embodiments parse, translate, and transliterate the user-provided ASCII names into domain names that include at least one non-English language character. Moreover, some embodiments determine the DNS registration status (e.g., as a second-level domain) of the Punycode (in ASCII) corresponding to these non-English domain names and provide the user with the ability to register any that are unregistered.

FIELD

This disclosure relates generally to registering internet domain names.

BACKGROUND

In the internet Domain Name System (DNS), domain names may be registeredto registrants by registrars, who act as intermediaries between theregistrant and a master registry. Currently, only domain names that arerestricted to American Standard Code for Information Exchange (ASCII)characters can be registered. However, some web browsers can render andinterpret non-English-character domain names, e.g., using Unicodecharacters or Punycode characters encoded by ASCII characters. That is,some web browsers can accept and process non-English character domainnames (e.g., by decoding ASCII Punycode representations or by directlyrendering Unicode characters) in their address bar field. Accordingly, agap exists between non-English character domain name registration andnon-English character domain name usage. Potential domain nameregistrants need an easy way to find domains in their native(non-English) language, check their availability status, obtain contactinformation if they are registered, and register them if they areunregistered.

SUMMARY

According to various embodiments, a computer-implemented method ofproviding suggested domain names and their registration statuses isprovided. The method includes providing a network interfacecommunicatively coupled to the Internet; receiving at the networkinterface an input string provided by a user; receiving at the networkinterface a language selection provided by the user; parsing, by anelectronic processor, the input string into a plurality of words;translating, by an electronic processor, each of the plurality of wordsinto a language specified by the language selection, such that aplurality of translated words are produced; transliterating, by anelectronic processor, each of the plurality of words into the languagespecified by the language selection, such that a plurality oftransliterated words are produced; generating, by at electronicprocessor, a plurality of combinations of multiple words, eachcombination of multiple words of the plurality of combinations ofmultiple words including words selected from at least one of theplurality of translated words and the plurality of transliterated words;generating, by at least one electronic processor, a Punycoderepresentation of at least a selected one of the plurality ofcombinations of multiple words; determining a domain name system (DNS)registration status of a domain name including the Punycoderepresentation; and providing to the user, by the network interface, thedomain name including the Punycode representation and a DNS registrationstatus of the domain name including the Punycode representation.

Various optional features of the above embodiments include thefollowing. The DNS registration status may indicate that the domain nameincluding the Punycode representation is not registered. The method mayinclude registering the domain name including the Punycoderepresentation to the user. The input string may consist of AmericanStandard Code for Information Interchange (ASCII) characters. Thenetwork interface may include a representational state transfer (REST)interface. The language selection may include a language that includes aplurality of non-English characters in its alphabet. The combination ofmultiple words may include words selected from both the plurality oftranslated words and the plurality of transliterated words. The DNSregistration status indicates that the domain name including thePunycode representation may be registered, and the method may furtherinclude providing to the user, by the network interface, an identity ofa registrant of the domain name including the Punycode representation.The method may further include providing to the user, by the networkinterface, an expiration date of a DNS registration of the domain nameincluding the Punycode representation. At least the selected one of theplurality of combinations of multiple words may include at least one ofthe plurality of translated words and at least one of the plurality oftransliterated words, where the Punycode representation includes arepresentation of the at least one of the plurality of translated wordsand the at least one of the plurality of transliterated words.

According to various embodiments, a system for providing suggesteddomain names and their registration statuses is provided. The systemincludes a network interface communicatively coupled to the internet,the network interface configured to receive an input string provided bya user and receive a language selection provided by the user; and atleast one electronic processor configured to: parse the input stringinto a plurality of words; translate each of the plurality of words intoa language specified by the language selection, such that a plurality oftranslated words are produced; transliterate each of the plurality ofwords into the language specified by the language selection, such that aplurality of transliterated words are produced; generate a plurality ofcombinations of multiple words, each combination of multiple words ofthe plurality of combinations of multiple words including words selectedfrom at least one of the plurality of translated words and the pluralityof transliterated words; generate a Punycode representation of at leasta selected one of the plurality of combinations of multiple words; anddetermine a domain name system (DNS) registration status of a domainname including the Punycode representation; where the network interfaceis further configured to provide to the user the domain name includingthe Punycode representation and a DNS registration status of the domainname including the Punycode representation.

Various optional features of the above embodiments include thefollowing. The DNS registration status may indicate that the domain nameincluding the Punycode representation is not registered. The networkinterface may be further configured to register domain name includingthe Punycode representation to the user. The input string may consist ofAmerican Standard Code for Information Interchange (ASCII) characters.The network interface may include a representational state transfer(REST) interface. The language selection may include language thatincludes a plurality of non-English characters in its alphabet. Thecombination of multiple words may include words selected from both theplurality of translated words and the plurality of transliterated words.The DNS registration status may indicate that the domain name includingthe Punycode representation is registered, where the network interfaceis further configured to provide to the user an identity of a registrantof the domain name including the Punycode representation. The networkinterface may be further configured to provide to the user an expirationdate of a DNS registration of the domain name including the Punycoderepresentation. At least the selected one of the plurality ofcombinations of multiple words may include at least one of the pluralityof translated words and at least one of the plurality of transliteratedwords, where the Punycode representation includes a representation ofthe at least one of the plurality of translated words and the at leastone of the plurality of transliterated words.

BRIEF DESCRIPTION OF THE DRAWINGS

Various features of the embodiments can be more fully appreciated, asthe same become better understood with reference to the followingdetailed description of the embodiments when considered in connectionwith the accompanying figures, in which:

FIG. 1 is a schematic diagram of a system according to some embodiments;

FIG. 2 is a flowchart of a method according to some embodiments;

FIG. 3 illustrates a table depicting an example partial output accordingto some embodiments;

FIG. 4 illustrates a table depicting a VCard portion of the exampleoutput of FIG. 3 according to some embodiments; and

FIG. 5 illustrates a table depicting a VCard portion of the exampleoutput of FIG. 3 according to some embodiments.

DESCRIPTION OF THE EMBODIMENTS

Reference will now be made in detail to example implementations,illustrated in the accompanying drawings. Wherever possible, the samereference numbers will be used throughout the drawings to refer to thesame or like parts. In the following description, reference is made tothe accompanying drawings that form a part thereof, and in which isshown by way of illustration specific exemplary embodiments in which theinvention may be practiced. These embodiments are described insufficient detail to enable those skilled in the art to practice theinvention and it is to be understood that other embodiments may beutilized and that changes may be made without departing from the scopeof the invention. The following description is, therefore, merelyexemplary.

Some embodiments provide domain name suggestions based on auser-provided ASCII phrase translated and/or transliterated into any ofa number of supported non-English language character sets. Suchembodiments may provide a Representational State Transfer (REST)Application Program Interface (API) and/or user interface to allow usersto input an ASCII phrase and choice of language. Further, someembodiments utilize Registration Data Access Protocol (RDAP) directoriesto determine the registration status of the suggested domain names.

To suggest non-English-language domain names, some embodiments parse,translate, and transliterate the user-provided ASCII names into domainnames that include at least one non-English language character.Moreover, some embodiments determine the DNS registration status (e.g.,as a second-level domain) of the Punycode (in ASCII) corresponding tothese non-English domain names. Thus, some embodiments provide userswith suggestions options for registering non-English-language domainnames, and some embodiments can affect the registration upon userauthorization. Some embodiments also provide users with registrationinformation such as contacts, date renewal, and name serveridentification, particularly, though not exclusively, forcurrently-registered names. These and other embodiments are described indetail herein.

FIG. 1 is a schematic diagram of a system according to some embodiments.The system may be based around an electronic hardware internet servercomputer 106, which may be communicatively coupled to a network such asthe internet 104. Server computer 106 includes network interface 108 toaffect the communicative coupling to the internet 104. Network interface108 may include a physical network interface, such as a network adapter.Server computer 108 may be a special-purpose computer, adapted forreliability and high-bandwidth communications. Thus, server computer 108may be embodied in a cluster of individual hardware server computers,for example. Alternately, or in addition, server computer 108 mayinclude redundant power supplies. Persistent memory 112 may be in aRedundant Array of Inexpensive Disk drives (RAID) configuration foradded reliability, and volatile memory 114 may be or includeError-Correcting Code (ECC) memory hardware devices. Server computer 108may further include one or more electronic processors 110, which may bemulti-core processors suitable for handling large amounts ofinformation. Electronic processors 110 are communicatively coupled topersistent memory 112, and may execute instructions stored thereon toeffectuate the techniques disclosed herein, e.g., as shown and describedin reference to FIG. 2.

Server computer 106 is communicatively coupled to, or in someembodiments includes, translation and transliteration service 116,Punycode generator 118, and registration engine 120. Thus, as depictedin FIG. 1, translation and transliteration service 116, Punycodegenerator 118, and registration engine 120 are coupled to servercomputer 106 through the internet. However, in other embodiments, any,or a combination, of translation and transliteration service 116,Punycode generator 118, and registration engine 120 can be included onthe same premises as server computer 106, or within the same computerhardware as server computer 106. When coupled to server computer 106through the internet 104, translation and transliteration service 116,Punycode generator 118, and registration engine 120 can each beimplemented as server computers having similar hardware properties toserver computer 106. Any or each of translation and transliterationservice 116, Punycode generator 118, and registration engine 120 may beimplemented using APIs to handle the messaging between themselves asservers and client computers.

Translation and transliteration service 116 receives character strings(e.g., words in ASCII) and a language selection from a client computer,and serves translations and transliterations of the received stringsinto the selected language. Translation and transliteration service 116may be embodied as a single service or as separate translation andtransliteration services. Whether unitary or separate, translation andtransliteration service 116 may serve translations and transliterationsserially or in parallel. Translation and transliteration service 116 mayserve the translations and transliterations in Unicode, Punycode, orboth. “Translation” as used herein means returning a word in theselected language that has the same meaning as the received word. Forexample, the Greek translation of “nation” is “

”, because the meaning of “

” is “nation”. “Transliteration” as used herein means returning a stringof characters in the selected language that each correspond to thecharacters of the received word. The correspondence may be that thecharacters are pronounced alike or similarly. The correspondence may beone-to-one or m-to-n, where either or both of m and n are greater thanone (e.g., in the case of dipthongs). As example of a one-to-onecorrespondence, the Greek transliteration of “nation” is “

”, because each letter in “nation” has a corresponding character in “

” with an identical or similar sound.

Translation and transliteration service 116 may include anelectronically stored set of foreign-language dictionaries, e.g., a setof database tables that each include English and corresponding foreignlanguage words, one table per foreign language. To serve a translation,transliteration and translation service 116 may use the input word as adatabase key for the table that corresponds to the selected language toretrieve the corresponding foreign-language word. The correspondingforeign-language word is then served to the requesting client, e.g., inUnicode, Punycode, or both.

Translation and transliteration service 116 may include anelectronically stored set of character correspondences, e.g., as a setof database tables that include the English language alphabet incorrespondence with characters in the respective foreign language. Toserve a transliteration, translation and transliteration service 116 mayparse the input word into individual English letters (or phonemes), andthen use the letters (or phonemes) as database keys for the table thatcorresponds to the selected language to retrieve the correspondingindividual (or multiple) characters. Translation and transliterationservice 116 may integrate the resulting foreign-language characters intoa foreign-language string in Unicode, Punycode or both, and serve thestring to the requesting client computer.

Punycode generator 118 may be used in embodiments in which translationand transliteration service 116 serves strings in Unicode but notPunycode. In such embodiments, server computer 106 may receive Unicodetranslation and/or transliteration strings from translation andtransliteration service 116, send them to Punycode generator 118, andreceive corresponding Punycode representations of the strings served byPunycode generator 118.

Registration engine 120 may be a Registration Data Access Protocol(RDAP) compliant server. Such an RDAP-compliant server receivesHypertext Transfer Protocol (HTTP) requests and returns responses inJavaScript Object Notation (JSON) according to a REST protocol. Inparticular, registration engine 120 receives a domain name (typicallysecond-level or higher) and serves DNS registration information for thereceived domain name. Served information includes, for example,registration status, and, for currently-registered domain names,registration expiration, point of contact information, organizationidentifier, and name servers.

Also depicted in FIG. 1 is client computer 102. Client computer 102 maybe a desktop, laptop, tablet, or smartphone, for example. Clientcomputer 102 is communicatively coupled to the internet 104, and,therefore, to server computer 106. Client computer 102 may send queriesto server computer 106 to receive non-English-language domain nameinformation as disclosed herein, e.g., as shown and described inreference to FIG. 2, below.

FIG. 2 is a flowchart of a method according to some embodiments. Themethod of FIG. 2 may be practiced using the hardware and software shownand described in reference to FIG. 1, above. In particular, the steps ofFIG. 2 are phrased from the viewpoint of server computer 106 interactingwith client computer 102. Such a client computer may be operated by aperson wishing to register a domain name in language that uses anon-English alphabet. Such languages include, by way of non-limitingexample, Greek, Hindi, Urdu, Thai, Russian, Armenian, Arabic, Persian,Bengali, Turkish, and Asian languages (e.g., Chinese, Japanese,Vietnamese, Korean, etc.). Essentially any language that uses charactersthat do not appear in the English-language alphabet is contemplated.

At block 202, server computer 106 receives an input string from clientcomputer 102 via internet 104. Client computer 102 may send the inputstring to server computer 116 using an API and/or user interfaceprovided by server computer 106. For example, a user of client computer102 may enter the string in a graphical user interface on a web pageprovided by, or otherwise in communication with, server computer 106.The web page may provide the input string to server computer 106 via theAPI. The input string may be a string of words in ASCII text, forexample. The input string may or may not include spaces or otherdelimiters between its constituent words.

At block 204, server computer 106 receives a language selection fromclient computer 102. The language selection may accompany the inputstring received at block 202, or may be received separately. Similar tothe input string, client computer 102 may send the language selection toserver computer 116 using an API and/or user interface provided byserver computer 106. For example, a user of client computer 102 mayselect the language using a graphical user interface (e.g., radiobuttons, a drop-down menu, etc.) on a web page provided by, or otherwisein communication with, server computer 106, and the web page may sendthe selection to sever computer 106 using an API. The language selectionmay be of any supported language, by way of non-limiting example, Greek,Hindi, Urdu, Thai, Russian, Armenian, Arabic, Persian, Bengali, Turkish,and Asian languages (e.g., Chinese, Japanese, Vietnamese, Korean, etc.).Any language that does not use the same characters as English iscontemplated. The language selection is intended to be for a domain namethat the user of client computer 102 wishes to investigate and may wishto register. As detailed herein, server computer 106 constructspotential domain names for presentation to, and possibly registrationby, the person.

At block 206, server computer 106 parses the input string received atblock 202. If the input string includes spaces or other delimitersbetween words, then server computer 106 may parse the words accordingly,i.e., breaking the string at the delimiters. Otherwise, server computer106 may utilize a different parsing technique. For example, servercomputer 106 may use an English-language dictionary, e.g., storedlocally or remotely as a table in an electronic database, toprogressively match initial segments of the string until no furthermatch is obtained, at which point the initial segment is parsed out andthe process returns to the remainder of the string, if any. Otherparsing techniques are contemplated in the alternative. Essentially anytechnique that accepts and partitions a string of characters into itsconstituent parts, where each part is a word, is suitable. In moredetail, any technique that accepts a string of characters and returns aplurality of disjoint substrings of characters, each substring a word,such that the join of the substrings is the original string ofcharacters, is acceptable. The returned substrings/parts may be returnedas a single string with known delimiters between words, in a datastructure that inherently separates the substrings, or using any othertechnique that keeps the substrings/parts separate.

Note that some embodiments may utilize a web service or other techniquefor the parsing of block 206. In other words, the system of FIG. 1 mayinclude a remote parsing service communicatively coupled to theinternet, as with translation and transliteration service 116, Punycodegenerator 118, and registration engine 120.

At block 208, the technique translates the parts produced by thepartitioning of the input string per block 206. The translation is intothe language(s) selected per block 204. The translation may beaccomplished by translation and transliteration service 116 of FIG. 1,for example. The translations may be returned to server 106 using anAPI, for example, in embodiments that utilize a remote translation andtransliteration service as shown in FIG. 1. The translations may berepresented in Unicode or Punycode.

At block 210, the technique transliterates the parts produced by thepartitioning of the input string according to block 206. Thetransliteration is into the language(s) selected per block 204. Thetransliteration may be accomplished by translation and transliterationservice 116 of FIG. 1, for example. The transliterations may be returnedto server 106 using an API, for example, in embodiments that utilize aremote translation and transliteration service as depicted in FIG. 1.The transliterations may be represented in Unicode or Punycode.

At block 212, the technique generates combinations of the translationsand transliterations received at blocks 208 and 210, respectively. Thatis, the technique generates multiple output strings corresponding to theinput string received at block 202, where each of the multiple outputstrings replaces at least one of the words in the input string receivedat block 202 with either a corresponding translation or a correspondingtransliteration. In some embodiments, block 212 outputs all possibleoutput string combinations that result from substituting at least one ofthe constituent words of the input string with a correspondingtranslation or transliteration.

For example, an input string received at block 202 may be “happynation”and the language selection received at block 204 may be Greek. Theparsing of block 206 breaks the input string into its constituentsubstrings, i.e., parts, which may be represented here (using a space asa delimiter character) as “happy nation”. These parts may beindividually translated per block 208 into, respectively, “

” and “

”. The same parts may be individually transliterated into “

” and “

”, respectively, at block 210. Block 202 produces every combination thatresults from replacing one or both of “happy” and “nation” with acorresponding translation or transliteration. Table 1 below depicts suchcombinations.

TABLE 1 Explanation Output String First Word Second Word

nation Translated Unchanged

Unchanged Translated

Translated Translated

 nation Transliterated Unchanged happyvatiov Unchanged Transliterated

Transliterated Transliterated

Translated Transliterated

Transliterated Translated

The technique of block 212 may output the combinations in any suitableformat, e.g., as a string with predetermined delimiters, as a list, oras any other data structure that preserves the individual combinationstrings. Further, the strings may be output in Unicode or Punycode,depending on whether translation and transliteration service 116produces outputs in Unicode or Punycode.

At block 214, the technique generates Punycode for the combinationsoutput by block 212 if they are not already in Punycode. To that end,the technique may utilize Punycode generator 118 of FIG. 1. The Punycodemay be returned to server 106 using an API, for example, in embodimentsthat utilize a remote Punycode generator as depicted in FIG. 1. Block214 may output the combinations in any suitable format, e.g., as astring with predetermined delimiters, as a list, or in any other datastructure that preserves the individual combination Punycode strings.Note that the generated Punycode is entirely in ASCII, therefore,registerable in the DNS as a second-level domain, for example.

At block 216, the technique determines the registration status ofvarious second-level domains corresponding to the combination Punycodestrings provided by block 214. The registration status determination maybe accomplished by registration engine 120 of FIG. 1, for example.Registration engine 120 may receive from server computer 106 domainnames generated from the combination Punycode strings of block 214 inHypertext Transfer Protocol (HTTP) requests and return responses thatinclude registration status and other registration information inJavaScript Object Notation (JSON) according to a REST protocol.

Note that the technique may determine the registration status of thecombination Punycode strings as second-level domains for a variety oftop-level domains. For example, the technique may determine theregistration status of: [Punycode combination string].com, [Punycodecombination string].net, [Punycode combination string].tv, [Punycodecombination string].org, [Punycode combination string].int, [Punycodecombination string].edu, [Punycode combination string].gov, [Punycodecombination string].mil, or for [Punycode combination string] as thesecond-level domain combined with any country code top-level domain. Anyother top-level domains are also contemplated. The particular top-leveldomains utilized in specific embodiments may depend on the top-leveldomains that are handled by registration engine 120.

At block 218, server computer 106 provides suggested domains and theirregistration status to client computer 102. The providing may be througha web page provided by, or otherwise in communication with, servercomputer 106, e.g., the same web page into which the user provided aninput string. Alternately, or in addition, the suggestions and otherinformation may be emailed to the user, or communicated using any of avariety of communication channels. The domains and their registrationstatus may be presented in a table, for example.

FIG. 3 illustrates table 300 depicting an example of a partial output byserver computer 106 to client computer 102 for the input string“happynation” and the language selection of Greek. A complete output maylist every second-level domain that appears in Table 1 along with avariety of first-level domains (e.g., .com, .net, etc.). That is, acomplete output may exhaustively list the statuses of every Punycodesecond-level domain as appearing in Table 1 joined to every top-leveldomain (or a selection thereof, e.g., .com, .net, etc.). Note that table300 depicts two registered domains and one unregistered domain. Aninterested user may contact the registrants of the registered domainsusing the provided contact information in order to attempt to acquirethe registered domains, for example. A user may proceed to register theunregistered domain.

FIGS. 4 and 5 illustrate tables depicting VCard portions of the exampleoutput of FIG. 3, according to some embodiments. In particular, asdepicted in FIG. 3, the two registered domain names,

.com and

.net, are depicted as having associated VCards. These VCards arerepresented as, respectively, FIG. 4, VCard 400, and FIG. 5, VCard 500.In some embodiments, the output data is formatted as depicted in FIG. 3,with VCards embedded therein; in other embodiments, the VCards may beseparately conveyed.

Some embodiments provide the user with the ability to register anyunregistered domains (e.g., “

.com” as appearing in FIG. 3) directly within the system. For example,some embodiments provide a user interface through which a user of clientcomputer 102 may register any suggested unregistered domains. The userinterface may accept contact and other information (e.g., name serveridentification), as well as payment information, and register anyselected unregistered suggested Punycode domain names. In someembodiments, the suggestions are presented in a table similar to table300 of FIG. 3, except that the table includes a column of buttons that auser may activate for unregistered domains in order to initiate theregistration process. The registration process may be completed on thesame web page using an additional interface configured to accept thenecessary registration information (contact information, paymentinformation, etc.). Such buttons may be “greyed out” in rowscorresponding to registered domains.

Note that the blocks of FIG. 2 may be performed in any sensible order.For example, the actions of blocks 208 and 210 may be interchanged ormerged in various embodiments.

Certain embodiments can be performed using a computer program or set ofprograms. The computer programs can exist in a variety of forms bothactive and inactive. For example, the computer programs can exist assoftware program(s) comprised of program instructions in source code,object code, executable code or other formats; firmware program(s), orhardware description language (HDL) files. Any of the above can beembodied on a transitory or non-transitory computer readable medium,which include storage devices and signals, in compressed or uncompressedform. Exemplary computer readable storage devices include conventionalcomputer system RAM (random access memory), ROM (read-only memory),EPROM (erasable, programmable ROM), EEPROM (electrically erasable,programmable ROM), and magnetic or optical disks or tapes.

While the invention has been described with reference to the exemplaryembodiments thereof, those skilled in the art will be able to makevarious modifications to the described embodiments without departingfrom the true spirit and scope. The terms and descriptions used hereinare set forth by way of illustration only and are not meant aslimitations. In particular, although the method has been described byexamples, the steps of the method can be performed in a different orderthan illustrated or simultaneously. Those skilled in the art willrecognize that these and other variations are possible within the spiritand scope as defined in the following claims and their equivalents.

What is claimed is:
 1. A computer-implemented method of providingsuggested domain names and their registration statuses, the methodcomprising: providing a network interface communicatively coupled to theInternet; receiving at the network interface an input string provided bya user; receiving at the network interface a language selection providedby the user; parsing, by an electronic processor, the input string intoa plurality of words; translating, by an electronic processor, each ofthe plurality of words into a language specified by the languageselection, whereby a plurality of translated words are produced;transliterating, by an electronic processor, each of the plurality ofwords into the language specified by the language selection, whereby aplurality of transliterated words are produced; generating, by atelectronic processor, a plurality of combinations of multiple words,each combination of multiple words of the plurality of combinations ofmultiple words comprising words selected from at least one of theplurality of translated words and the plurality of transliterated words;generating, by at least one electronic processor, a Punycoderepresentation of at least a selected one of the plurality ofcombinations of multiple words; determining a domain name system (DNS)registration status of a domain name comprising the Punycoderepresentation; and providing to the user, by the network interface, thedomain name comprising the Punycode representation and a DNSregistration status of the domain name comprising the Punycoderepresentation.
 2. The method of claim 1, wherein the DNS registrationstatus indicates that the domain name comprising the Punycoderepresentation is not registered.
 3. The method of claim 2, furthercomprising registering the domain name comprising the Punycoderepresentation to the user.
 4. The method of claim 1, wherein the inputstring consists of American Standard Code for Information Interchange(ASCII) characters.
 5. The method of claim 1, wherein the networkinterface comprises a representational state transfer (REST) interface.6. The method of claim 1, wherein the language selection comprises alanguage that includes a plurality of non-English characters in itsalphabet.
 7. The method of claim 1, wherein the combination of multiplewords comprises words selected from both the plurality of translatedwords and the plurality of transliterated words.
 8. The method of claim1, wherein the DNS registration status indicates that the domain namecomprising the Punycode representation is registered, the method furthercomprising providing to the user, by the network interface, an identityof a registrant of the domain name comprising the Punycoderepresentation.
 9. The method of claim 8, the method further comprisingproviding to the user, by the network interface, an expiration date of aDNS registration of the domain name comprising the Punycoderepresentation.
 10. The method of claim 1, wherein at least the selectedone of the plurality of combinations of multiple words comprises atleast one of the plurality of translated words and at least one of theplurality of transliterated words, wherein the Punycode representationcomprises a representation of the at least one of the plurality oftranslated words and the at least one of the plurality of transliteratedwords.
 11. A system for providing suggested domain names and theirregistration statuses, the system comprising: a network interfacecommunicatively coupled to the internet, the network interfaceconfigured to receive an input string provided by a user and receive alanguage selection provided by the user; and at least one electronicprocessor configured to: parse the input string into a plurality ofwords; translate each of the plurality of words into a languagespecified by the language selection, whereby a plurality of translatedwords are produced; transliterate each of the plurality of words intothe language specified by the language selection, whereby a plurality oftransliterated words are produced; generate a plurality of combinationsof multiple words, each combination of multiple words of the pluralityof combinations of multiple words comprising words selected from atleast one of the plurality of translated words and the plurality oftransliterated words; generate a Punycode representation of at least aselected one of the plurality of combinations of multiple words; anddetermine a domain name system (DNS) registration status of a domainname comprising the Punycode representation; wherein the networkinterface is further configured to provide to the user the domain namecomprising the Punycode representation and a DNS registration status ofthe domain name comprising the Punycode representation.
 12. The systemof claim 11, wherein the DNS registration status indicates that thedomain name comprising the Punycode representation is not registered.13. The system of claim 12, wherein the network interface is furtherconfigured to register domain name comprising the Punycoderepresentation to the user.
 14. The system of claim 11, wherein theinput string consists of American Standard Code for InformationInterchange (ASCII) characters.
 15. The system of claim 11, wherein thenetwork interface comprises a representational state transfer (REST)interface.
 16. The system of claim 11, wherein the language selectioncomprises a language that includes a plurality of non-English charactersin its alphabet.
 17. The system of claim 11, wherein the combination ofmultiple words comprises words selected from both the plurality oftranslated words and the plurality of transliterated words.
 18. Thesystem of claim 11, wherein the DNS registration status indicates thatthe domain name comprising the Punycode representation is registered,wherein the network interface is further configured to provide to theuser an identity of a registrant of the domain name comprising thePunycode representation.
 19. The system of claim 18, the networkinterface further configured to provide to the user an expiration dateof a DNS registration of the domain name comprising the Punycoderepresentation.
 20. The system of claim 11, wherein at least theselected one of the plurality of combinations of multiple wordscomprises at least one of the plurality of translated words and at leastone of the plurality of transliterated words, wherein the Punycoderepresentation comprises a representation of the at least one of theplurality of translated words and the at least one of the plurality oftransliterated words.